abseil.git
5 years agoFix float conversion for PPC.
Samuel Benzaquen [Tue, 9 Feb 2021 19:41:06 +0000 (19:41 +0000)]
Fix float conversion for PPC.

Origin: backport, https://github.com/abseil/abseil-cpp/commit/c36d825d9a5443f81d2656685ae021d6326da90c

In PPC `long double` is a double-double representation which behaves weirdly
wrt numeric_limits. Don't take `long double` into account when we are not
handling `long double` natively anyway.

Fix the convert test to always run the conversion even if we are not going to
compare against libc's printf result. This allows exercising the code itself to
make sure we don't trigger assertions or UB found by sanitizers.

The author works at Google. Upstream applied this patch as Piper revision
355857729 and exported it to GitHub; the Applied-Upstream URL above points to
the exported commit.

Gbp-Pq: Name ppc-float-conversion.diff

5 years agoRemove endian-sensitivity from Abseil's RNG
Benjamin Barenblat [Tue, 9 Feb 2021 19:41:06 +0000 (19:41 +0000)]
Remove endian-sensitivity from Abseil's RNG

Forwarded: yes
Applied-Upstream: https://github.com/abseil/abseil-cpp/commit/c36d825d9a5443f81d2656685ae021d6326da90c

Ensure that the Abseil random number generator produces identical output
on both big- and little-endian platforms by byte-swapping appropriately
on big-endian systems.

The author works at Google. Upstream applied this patch as Piper
revision 355635051 and exported it to GitHub; the Applied-Upstream URL
above points to the exported commit.

Gbp-Pq: Name endian-random.diff

5 years agoRemove endian-sensitivity from hash slow path
Benjamin Barenblat [Tue, 9 Feb 2021 19:41:06 +0000 (19:41 +0000)]
Remove endian-sensitivity from hash slow path

Forwarded: yes
Applied-Upstream: https://github.com/abseil/abseil-cpp/commit/9c6a50fdd80bb39fabd95faeda84f04062685ff3

Prior to this commit, the Abseil hash fast path was endian-agnostic, but
the slow path assumed a little-endian platform. Change the slow path to
be endian-correct, ensuring that values produced by the fast and slow
paths are equal even on big-endian systems.

The author works at Google. Upstream applied this patch as Piper revision
355424258 and exported it to GitHub; the Applied-Upstream URL above points to
the exported commit.

Gbp-Pq: Name endian-hash.diff

5 years agoAvoid libgcc -NaN narrowing bug
Benjamin Barenblat [Tue, 9 Feb 2021 19:41:06 +0000 (19:41 +0000)]
Avoid libgcc -NaN narrowing bug

Forwarded: yes
Applied-Upstream: https://github.com/abseil/abseil-cpp/commit/1bae23e32ba1f1af7c7d1488a69a351ec96dc98d

When testing -NaN parsing, avoid narrowing -NaN from double to float. This
avoids a bug in libgcc (https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98251).

The author works at Google. Upstream applied this patch as Piper revision
347654751 and exported it to GitHub; the Applied-Upstream URL above points to
the exported commit.

Gbp-Pq: Name nan-narrowing.diff

5 years agoIgnore missing CPU frequency on more architectures
Benjamin Barenblat [Tue, 9 Feb 2021 19:41:06 +0000 (19:41 +0000)]
Ignore missing CPU frequency on more architectures

Forwarded: yes
Applied-Upstream: https://github.com/abseil/abseil-cpp/commit/1918ad2ae38aa32c74b558b322479a8efdd76363

Linux on MIPS, PA-RISC, RISC-V, and SystemZ doesn’t expose the nominal CPU
frequency via /sys, so don’t worry if `NominalCPUFrequency` returns 1.0 on those
platforms.

Some POWER machines expose the CPU frequency; others do not. Since we can’t
predict which type of machine the tests will run on, simply disable testing for
`NominalCPUFrequency` on POWER.

The author works at Google. Upstream applied this patch as Piper revision
347079873 and exported it to GitHub; the Applied-Upstream URL above points to
the exported commit.

Gbp-Pq: Name cpu-frequency.diff

5 years agoUse libatomic if necessary
Benjamin Barenblat [Tue, 9 Feb 2021 19:41:06 +0000 (19:41 +0000)]
Use libatomic if necessary

Bug-Debian: https://bugs.debian.org/973492

On some architectures, notably armel, Abseil needs symbols defined in
libatomic. Abseil does not currently have a well-developed system to
declare external library dependencies, so just have the linker determine
if anything needs libatomic and add the DT_NEEDED entry where necessary.

Gbp-Pq: Name latomic.diff

5 years agoWork around broken std::hash on s390x
Benjamin Barenblat [Tue, 9 Feb 2021 19:41:06 +0000 (19:41 +0000)]
Work around broken std::hash on s390x

Forwarded: no
Bug-Debian: https://bugs.debian.org/977638

On s390x, std::hash hashes large classes of data to the same value, which
violates assumptions made by the Abseil tests. #ifdef out the test code that
depends on those assumptions.

Gbp-Pq: Name std-hash.diff

5 years agoFix build on hppa
John David Anglin [Tue, 9 Feb 2021 19:41:06 +0000 (19:41 +0000)]
Fix build on hppa

Bug-Debian: https://bugs.debian.org/971768
Reviewed-by: Benjamin Barenblat <bbaren@debian.org>
Gbp-Pq: Name fix-hppa.diff

5 years agoSet package configuration options
Benjamin Barenblat [Tue, 9 Feb 2021 19:41:06 +0000 (19:41 +0000)]
Set package configuration options

Forwarded: not-needed

Configure Abseil for Debian.

  - Set the SONAME appropriately.

  - To minimize the possibility of future ABI breakage, treat absl::any,
    absl::optional, absl::string_view, and absl::variant as their own types
    (rather than aliases for the std:: versions), and compile everything in an
    inline namespace.

  - Enable upstream's hardened build mode.

  - Disable Intel SSE2 on i386, since Debian supports some i386 processors
    without that extension. Keep it enabled on amd64, since all amd64 processors
    have it.

  - Disable Intel SSSE3 entirely, since no i386 processor supports it and Debian
    supports amd64 processors without it.

Gbp-Pq: Name configure.diff

5 years agoabseil (0~20200923.3-2) unstable; urgency=medium
Benjamin Barenblat [Tue, 9 Feb 2021 19:41:06 +0000 (19:41 +0000)]
abseil (0~20200923.3-2) unstable; urgency=medium

  * Correct string formatting on POWER.

[dgit import unpatched abseil 0~20200923.3-2]

5 years agoImport abseil_0~20200923.3-2.debian.tar.xz
Benjamin Barenblat [Tue, 9 Feb 2021 19:41:06 +0000 (19:41 +0000)]
Import abseil_0~20200923.3-2.debian.tar.xz

[dgit import tarball abseil 0~20200923.3-2 abseil_0~20200923.3-2.debian.tar.xz]

5 years agoImport abseil_0~20200923.3.orig.tar.gz
Benjamin Barenblat [Mon, 8 Feb 2021 20:04:52 +0000 (20:04 +0000)]
Import abseil_0~20200923.3.orig.tar.gz

[dgit import orig abseil_0~20200923.3.orig.tar.gz]